# -*- coding: utf-8 -*-
"""
@Time    : 2024/7/3 20:06 
@Author  : ZhangShenao 
@File    : json_io.py 
@Desc    : 基于json的I/O操作
"""
import json


def serialize():
    """将数据进行json序列化,并写入文件中"""

    # 获取json对象
    user = {
        'name': 'zsa',
        'age': 18,
        'hobbies': ['coding', 'reading', 'singing']
    }

    # 打开文件,将对象json序列化后写入文件
    with open('user.json', 'w') as f:
        # 调用dump()函数将,对象序列化后写入文件
        json.dump(user, f)

    print('json序列化完成')


def deserialize():
    """读取json文件,反序列化成对象"""

    # 打开文件,读取json数据
    with open('user.json', 'r') as f:
        # 调用load()函数将文件中的json数据反序列化成对象
        user = json.load(f)

    print('json反序列化完成')

    # 对象类型: <class 'dict'>
    # 对象值: {'name': 'zsa', 'age': 18, 'hobbies': ['coding', 'reading', 'singing']}
    print(f'对象类型: {type(user)}, 对象值: {user}')


if __name__ == '__main__':
    serialize()

    deserialize()
